package cn.ryh.gat1400.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @Author: aiLin
 * @Date: 2020/9/26 17:30
 * @desc: 非标注车辆对象 MotorVehicle 特征属性
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class MotorVehicle {


    /**
     * 车辆全局唯一标识
     */
    @JsonProperty("MotorVehicleID")
    private String motorVehicleId;

    /**
     * 信息分类 ,人工采集还是自动采集
     */
    @JsonProperty("InfoKind")
    private int infoKind;

    /**
     * 来源图像标识
     */
    @JsonProperty("SourceID")
    private String sourceId;


    /**
     * 关联卡口编号，卡口编码
     */
    @JsonProperty("TollgateID")
    private String tollgateId;

    /**
     * 过车时间
     */
    @JsonProperty("PassTime")
    private String passTime;

    /**
     * 设备编码
     */
    @JsonProperty("DeviceID")
    private String deviceId;

    /**
     * 近景照片
     */
    @JsonProperty("StorageUrl1")
    private String storageUrl1;

    /**
     * 车牌照片
     */
    @JsonProperty("StorageUrl2")
    private String storageUrl2;

    /**
     * 远景照片
     */
    @JsonProperty("StorageUrl3")
    private String storageUrl3;


    /**
     * 合成图
     */
    @JsonProperty("StorageUrl4")
    private String storageUrl4;

    /**
     * 缩略图
     */
    @JsonProperty("StorageUrl5")
    private String storageUrl5;

    /**
     * 左上角 X 坐标 的位置，记录左上角坐标及右下角坐标
     */
    @JsonProperty("LeftTopX")
    private int leftTopX;

    /**
     * 左上角 Y 坐标 的位置，记录左上角坐标及右下角坐标
     */
    @JsonProperty("LeftTopY")
    private int leftTopY;

    /**
     * 右下角 X 坐标 的位置，记录左上角坐标及右下角坐标
     */
    @JsonProperty("RightBtmX")
    private int rightBtmX;

    /**
     * 右下角 Y 坐标，记录左上角坐标及右下角坐标
     */
    @JsonProperty("RightBtmY")
    private int rightBtmY;

    /**
     * 车道号车辆行驶方向最左车道为 1，由左向右顺序编号
     */
    @JsonProperty("LaneNo")
    private int laneNo;

    /**
     * 有无车牌
     */
    @JsonProperty("HasPlate")
    private String hasPlate;

    /**
     * 号牌种类
     */
    @JsonProperty("PlateClass")
    private String plateClass;

    /**
     * 车牌颜色,指号牌底色，取 ColorType 中部分值： 黑色，白色，黄色，蓝色，绿色
     */
    @JsonProperty("PlateColor")
    private String plateColor;

    /**
     * 车牌号 各类机动车号牌编号车牌全部无法识别的以“无车牌”标识，部分未识别的每个字符以半角‘-’代替
     */
    @JsonProperty("PlateNo")
    private String plateNo;

    /**
     * 挂车牌号 ,各类机动车挂车号牌编号
     */
    @JsonProperty("PlateNoAttach")
    private String plateNoAttach;

    /**
     * 车牌描述, 车牌框广告信息，包括车行名称，联系电话等
     */
    @JsonProperty("PlateDescribe")
    private String plateDescribe;

    /**
     * 是否套牌
     */
    @JsonProperty("IsDecked")
    private String isDecked;

    /**
     * 是否涂改
     */
    @JsonProperty("IsAltered")
    private String isAltered;


    /**
     * 是否遮挡
     */
    @JsonProperty("IsCovered")
    private String isCovered;

    /**
     * 行驶速度,单位千米每小时（km/h）
     */
    @JsonProperty("Speed")
    private int speed;


    /**
     * 行驶方向
     */
    @JsonProperty("Direction")
    private String direction;

    /**
     * 行驶状态代码
     */
    @JsonProperty("DrivingStatusCode")
    private String drivingStatusCode;

    /**
     * 车辆使用性质代码
     */
    @JsonProperty("UsingPropertiesCode")
    private int usingPropertiesCode;

    /**
     * 车辆类型
     */
    @JsonProperty("VehicleClass")
    private String vehicleClass;

    /**
     * 车辆品牌,被标注车辆的品牌
     */
    @JsonProperty("VehicleBrand")
    private String vehicleBrand;

    /**
     * 车辆型号
     */
    @JsonProperty("VehicleModel")
    private String vehicleModel;

    /**
     * 车辆年款
     */
    @JsonProperty("VehicleStyles")
    private String vehicleStyles;

    /**
     * 车辆长度
     */
    @JsonProperty("VehicleLength")
    private int vehicleLength;

    /**
     * 车辆宽度
     */
    @JsonProperty("VehicleWidth")
    private int vehicleWidth;

    /**
     * 车辆高度
     */
    @JsonProperty("VehicleHeight")
    private int vehicleHeight;

    /**
     * 车身颜色
     */
    @JsonProperty("VehicleColor")
    private String vehicleColor;

    /**
     * 颜色深浅
     */
    @JsonProperty("VehicleColorDept")
    private String vehicleColorDept;

    /**
     * 车前盖,对车前盖的描述
     */
    @JsonProperty("VehicleHood")
    private String vehicleHood;

    /**
     * 车后盖,对车后盖的描述
     */
    @JsonProperty("VehicleTrunk")
    private String vehicleTrunk;

    /**
     * 车轮,对车轮的描述
     */
    @JsonProperty("VehicleWheel")
    private String vehicleWheel;

    /**
     * 车轮印花纹,对车轮花纹的描述
     */
    @JsonProperty("WheelPrintedPatte")
    private String wheelPrintedPatte;


    /**
     * 车窗,对车窗的描述
     */
    @JsonProperty("VehicleWindow")
    private String vehicleWindow;

    /**
     * 车顶,对车顶的描述
     */
    @JsonProperty("VehicleRoof")
    private String vehicleRoof;

    /**
     * 车门,对车门的描述
     */
    @JsonProperty("VehicleDoor")
    private String vehicleDoor;

    /**
     * 车侧,对车侧面的描述，不包括门
     */
    @JsonProperty("SideOfVehicle")
    private String sideOfVehicle;

    /**
     * 车厢,对车厢的描述
     */
    @JsonProperty("CarOfVehicle")
    private String carOfVehicle;

    /**
     * 后视镜,对后视镜的描述
     */
    @JsonProperty("RearviewMirror")
    private String rearviewMirror;

    /**
     * 底盘,对车底盘的描述
     */
    @JsonProperty("VehicleChassis")
    private String vehicleChassis;

    /**
     * 遮挡,对车遮挡物的描述
     */
    @JsonProperty("VehicleShielding")
    private String vehicleShielding;


    /**
     * 贴膜颜色
     */
    @JsonProperty("FilmColor")
    private String filmColor;

    /**
     * 改装标志
     */
    @JsonProperty("IsModified")
    private String isModified;

    /**
     * 撞痕信息
     */
    @JsonProperty("HitMarkInfo")
    private String hitMarkInfo;

    /**
     * 车身描述, 描述车身上的文字信息，或者 车上载物信息
     */
    @JsonProperty("VehicleBodyDesc")
    private String vehicleBodyDesc;

    /**
     * 车前部物品,当有多个时可用英文半角逗号分隔
     */
    @JsonProperty("VehicleFrontItem")
    private String vehicleFrontItem;

    /**
     * 车前部物品描述, 对车前部物品数量、颜色、种类等信息的描述
     */
    @JsonProperty("DescOfFrontItem")
    private String descOfFrontItem;

    /**
     * 车后部物品,当有多个时可用英文半角逗号分隔
     */
    @JsonProperty("VehicleRearItem")
    private String vehicleRearItem;

    /**
     * 车后部物品描述,对车后部物品数量、颜色、种类等信息的描述
     */
    @JsonProperty("DescOfRearItem")
    private String descOfRearItem;

    /**
     * 车内人数,车辆内人员数量
     */
    @JsonProperty("NumOfPassenger")
    private int numOfPassenger;

    /**
     * 经过道路名称,车辆被标注时经过的道路名
     */
    @JsonProperty("NameOfPassedRo")
    private String nameOfPassedRo;

    /**
     * 遮阳板状态,0：收起；1：放下
     */
    @JsonProperty("Sunvisor")
    private int sunvisor;

    /**
     * 安全带状态,0：未系；1：有系
     */
    @JsonProperty("SafetyBelt")
    private int safetyBelt;

    /**
     * 打电话状态,0：未打电话；1：打电话中
     */
    @JsonProperty("Calling")
    private int calling;

    /**
     * 整个号牌号码的识别可信度，以 0～100 数值表示百分比，
     */
    @JsonProperty("PlateReliability")
    private int plateReliability;

    /**
     * 号牌号码的识别可信度，以0～100 数值表示百分比，数值越大可信度越高。按“字符 1-可信度 1，字符 2-可信度 2”方式排列，中间为英文半角连接线、逗号；例如识别号牌号码为：苏 B12345，则取值为：”苏-80，B-90， 1-90，2-88，3-90，4-67，5-87”
     */
    @JsonProperty("PlateCharReliabilit")
    private int plateCharReliabilit;

    /**
     * 品牌标志识别可信度,以 0～100 之间数值表示百分比，数值越大可信度越高
     */
    @JsonProperty("BrandReliability")
    private int brandReliability;

    /**
     * 可以包含0个或者多个子图像 对象
     */
    @JsonProperty("SubImageList")
    private SubImageList subImageInfoList;

    /**
     * 特征值列表
     */
    @JsonProperty("FeatureList")
    private FeatureInfoObject featureLis;

    /**
     * 国籍代码,世界各国和地区名称代码
     */
    @JsonProperty("NationalityCode")
    private String nationalityCode;

    /**
     * 归属分类标签
     */
    @JsonProperty("TabID")
    private String tabId;

}
